-
Notifications
You must be signed in to change notification settings - Fork 717
updated ironside/nrf54h20 support #3093
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
a00a1a7 to
d7eed1f
Compare
57300
approved these changes
Jul 28, 2025
a9c346e to
44fd57b
Compare
This reverts commit a6a46c9. Signed-off-by: Jonathan Nilsen <[email protected]>
…ript" This reverts commit f8ed7bb. Signed-off-by: Jonathan Nilsen <[email protected]>
This reverts commit aa8dbbc. Signed-off-by: Jonathan Nilsen <[email protected]>
This reverts commit a767af9. Signed-off-by: Jonathan Nilsen <[email protected]>
This reverts commit cabe684. Signed-off-by: Jonathan Nilsen <[email protected]>
…not programmed" This reverts commit 24c79af. Signed-off-by: Jonathan Nilsen <[email protected]>
…54h" This reverts commit 5f67798. Signed-off-by: Jonathan Nilsen <[email protected]>
…tifacts if present" This reverts commit 8caa2d4. Signed-off-by: Jonathan Nilsen <[email protected]>
…upport" This reverts commit 8ab3430. Signed-off-by: Jonathan Nilsen <[email protected]>
This reverts commit c56fad6. Signed-off-by: Jonathan Nilsen <[email protected]>
…y map" This reverts commit ba6ff5d. Signed-off-by: Jonathan Nilsen <[email protected]>
This reverts commit f95cae3. Signed-off-by: Jonathan Nilsen <[email protected]>
…t for nRF54H" This reverts commit 169f221. Signed-off-by: Jonathan Nilsen <[email protected]>
…SIZE" This reverts commit 0c78958. Signed-off-by: Jonathan Nilsen <[email protected]>
…he base variants" This reverts commit 6a5823e. Signed-off-by: Jonathan Nilsen <[email protected]>
… app core only" This reverts commit c62de71. Signed-off-by: Jonathan Nilsen <[email protected]>
… and cpurad remotes" This reverts commit 90eebd5. Signed-off-by: Jonathan Nilsen <[email protected]>
…elling" This reverts commit c0ea350. Signed-off-by: Jonathan Nilsen <[email protected]>
…workaround" This reverts commit 51f83ce. Signed-off-by: Jonathan Nilsen <[email protected]>
…o CPUCONF service" This reverts commit c7e8957. Signed-off-by: Jonathan Nilsen <[email protected]>
This reverts commit dfccb09. Signed-off-by: Jonathan Nilsen <[email protected]>
Until register ABB->STATUSANA is visible it must be checked using defined offset to base ABB register. Signed-off-by: Łukasz Stępnicki <[email protected]> (cherry picked from commit 24322c6)
s/IRONside/IronSide/g Signed-off-by: Grzegorz Swiderski <[email protected]> (cherry picked from commit 75dd614)
…o soc/nordic Move the IronSide APIs to soc/nordic from drivers/firmware since these are vendor specific APIs. The header files are now included from <nrf_ironside/*.h>. Adjust code that uses these APIs accordingly. Also move the DT binding for "nordic,ironside-call" from bindings/firmware to bindings/misc. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit b18c326)
This reverts commit ba6e93a. Signed-off-by: Jonathan Nilsen <[email protected]>
This reverts commit 8955e01. Signed-off-by: Jonathan Nilsen <[email protected]>
Replaces using an odd mix of Kconfig dts for partition offsets with just use dts for non-secure board targets Signed-off-by: Jamie McCrae <[email protected]> (cherry picked from commit e68f8e3)
…itionally All Nordic boards were enabling CONFIG_HW_STACK_PROTECTION unconditionally, which is usually not a problem except if the particular application happens to want to disable the MPU (or equivalent hardware for RISC-V). In that case, the following warning is shown: warning: HW_STACK_PROTECTION (defined at arch/Kconfig) was assigned the value 'y' but got the value 'n'. Check these unsatisfied dependencies: ARCH_HAS_STACK_PROTECTION (=n). In order to avoid this warning, conditionally enable the hardware stack protection only when the architecture supports it. Signed-off-by: Carles Cufi <[email protected]> (cherry picked from commit 9a9ae6f)
Non-secure variants for nRF7002 DK were removed from upstream in commit 10d4973. Revert these changes downstream, so that the NS variants are still available. Signed-off-by: Andrzej Głąbek <[email protected]> Signed-off-by: Johann Fischer <[email protected]> (cherry picked from commit 06171de)
This patch backports the nrf9131ek to a time before tfm was refactored. To be reverted when TF-M is updated. Signed-off-by: Maximilian Deubel <[email protected]> (cherry picked from commit 410528f)
If the application uses slot 1 (i.e. in Direct XIP mode), boot radio slot 1 instead of slot 0. Signed-off-by: Tomasz Chyrowicz <[email protected]> (cherry picked from commit 9dd514c)
…rad remotes Switch which board is the remote in the test case for mbox communication between nrf54h20dk/nrf54h20/cpuapp and nrf54h20dk/nrf54h20/cpurad, making cpurad the remote instead. This is done to prepare the sample for executing with IronSide SE, where using cpurad as the main board doesn't make as much sense, since cpuapp has to start cpurad. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit d6673e1)
…e only Update this multi-core test to always run the `main` and `remote` images on cpuapp and cpurad respectively. This is to prepare the test for running with IronSide SE, in which case keeping cpurad as the main board target wouldn't make as much sense, because cpurad would have to be started by cpuapp. Signed-off-by: Grzegorz Swiderski <[email protected]> (cherry picked from commit 559ace1)
…variants This replaces the legacy SDFW compatible board configuration with the IronSide SE compatible one, thus removing support for running samples and tests on nRF54H20 devices with the old firmware. All applications are expected to work on `nrf54h20dk/nrf54h20/cpuapp` out of the box. For other board targets, all applications are expected to boot, but may require additional peripheral configuration in UICR. Build system support for the new UICR format is to be added separately. Co-authored-by: Jonathan Nilsen <[email protected]> Signed-off-by: Jonathan Nilsen <[email protected]> Signed-off-by: Grzegorz Swiderski <[email protected]> (cherry picked from commit b4c18e8)
CONFIG_USE_DT_CODE_PARTITION had to be disabled to add MCUboot support. As a result, CONFIG_FLASH_LOAD_SIZE was left at zero, which means that the linker would claim all available MRAM for the app core. For now, we can't allow that, because the default nRF54H20 DK memory map divides MRAM between multiple cores in order to support various samples. Signed-off-by: Grzegorz Swiderski <[email protected]> (cherry picked from commit b7b8b27)
…F54H nrf-regtool will not be used as part of IronSide SE compatible builds. It will remain in use for the nRF92 series, until that too undergoes a switch from SDFW to IronSide SE. Signed-off-by: Grzegorz Swiderski <[email protected]> (cherry picked from commit 835649a)
Update memory map to be compatible with latest IronSide. 180kB MRAM is reserved. Co-authored-by: Håkon Amundsen <[email protected]> Signed-off-by: Håkon Amundsen <[email protected]> Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit 7324eea)
Refactor the default RAM memory map on nrf54h20dk: Removes use of "nordic,owned-memory" which is no longer needed on nrf54h20. Reserved memory nodes that were under "nordic,owned-memory" have been moved directly under reserved-memory. The memory shared between cpuapp-cpusec and cpurad-cpusec in RAM0x is no longer used with IronSide, since IPC buffers toward the secure domain are at new fixed locations. The cpuapp_data region has been expanded to fill the available space in RAM0x when removing these shared memory regions. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit 38e6002)
With IronSide SE there is only one defined UICR which is at the location of the APPLICATION UICR. Update the devicetree definition accordingly, and use the "nordic,nrf-uicr" compatible on the node since the domain distinction added by the v2 compatible is no longer relevant. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit b43ae17)
Add support for generating UICR and associated artifacts in a format compatible with IronSide SE, to be used for Nordic SoCs in the Haltium family. The main feature added with this is the ability to configure certain global domain peripherals that are managed by the secure domain through setting UICR.PERIPHCONF. This register points at a blob of (register address, register value) pairs which are loaded into the peripherals by IronSide SE ahead of the application boot. The added helper macros in uicr.h can be used to add register configurations to the PERIPHCONF. Entries added through these macros are then extracted by a script, post-processed and placed in a blob located at specific part of MRAM. A default PERIPHCONF configuration has been added for the nrf54h20 soc to support the standard BLE use case (matching the configuration in the soc devicetree). Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit 56b6e57)
…if present Program the new UICR and PERIPHCONF artifacts if they are generated. These are required for the application to operate properly if they are in use. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit eb7239c)
Update the recover mechanism for nrf54h to only call recover once. Using nrfutil device recover with both --core Network and --core Application is redundant with IronSide SE as both of these map to the same operation which does a full erase of the device MRAM. Additionally, recovering twice in a row specifically in a nrfutil batch file (which is used by this runner implementation) triggers some odd behavior with the current latest version of nrfutil device + IronSide SE, which can cause the device to enter a reset loop and appear unresponsive and preventing 'west flash --recover' from working properly. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit 78a6157)
…rammed Booting the radio core when it is not programmed will typically cause a reset loop. This can happen when programming multiple images to a device, and the app core image is programmed before the radio core. With this change we avoid the reset loop in that case. Signed-off-by: Håkon Amundsen <[email protected]> (cherry picked from commit 7697eff)
Fixes generating a library for devices that do not need it which gives a cmake warning Signed-off-by: Jamie McCrae <[email protected]> (cherry picked from commit 85d4ebc)
Upstream PR #: 92340 Added support for the IronSide TDD service which allows configuring and powering the trace and debug domain of the nrf54h20. Also provide option to start the trace and debug domain in the soc start sequence. Signed-off-by: Karsten Koenig <[email protected]>
Upstream PR #: 92340 Configure the CTRLSEL value and the clock pin so that the TRACE pins work when the TDD gets used. Signed-off-by: Karsten Koenig <[email protected]>
Upstream PR #: 92340 Added support for ETM tracing via TPIU to the JLinkScript. Signed-off-by: Karsten Koenig <[email protected]>
Upstream PR #: 93768 Format a few files with clang-format. Signed-off-by: Jonathan Nilsen <[email protected]>
44fd57b to
7f48f16
Compare
peraro90
approved these changes
Jul 31, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.